from typing import Optional, Any

import pydantic


class OutputBase(pydantic.BaseModel):
    # True(success); False(failed/error)
    ok: pydantic.StrictBool

    # Error() if ok == False else None
    # TxAPIError
    error: Optional[Any] = None

    # requests.Response or aiohttp.ClientResponse
    raw_response: Optional[Any] = None


class NoContentOutput(OutputBase):
    pass
